<?php

/**
 * CodeIgniter StringHandling Helpers
 *
 * @package		Aplication
 * @subpackage	Helpers
 * @category	String
 * @author		Jesus Palencia
 * @link		palencia77@gmail.com
 */

// ------------------------------------------------------------------------------

/**
 * Cadena aleatoria - Genera una cadena totalmente aleatoria
 *
 * @access	public
 * @param	$length:  int, longitud que tendra la cadena generada.
 * @param	$uc:	  bool, true para cargar las MAYUSCULAS como fuente.
 * @param	$n:	  	  bool, true para cargar los NUMEROS como fuente.
 * @param	$sc:	  bool, true para cargar SIMBOLOS como fuente.
 * @return	$rstr:	  cadena aleatoria generada de longitud = $longitud.
 */
function randomString($length, $uc, $n, $sc){
	/*
	 *$string = substr( md5(microtime()), 1, $longitud);
	 *return $string;
	 */

    $source = 'abcdefghijklmnopqrstuvwxyz';
  	if($uc==1) $source .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    if($n==1) $source .= '1234567890';
    if($sc==1) $source .= '|@#~$%()=^*+[]{}-_';
    if($length>0){
        $rstr = "";
        $source = str_split($source,1);
        for($i=1; $i<=$length; $i++){
            mt_srand((double)microtime() * 1000000);
            $num = mt_rand(1,count($source));
            $rstr .= $source[$num-1];
        }
 
    }
    return $rstr;
}

// --------------------------------------------------------------------

?>